热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

CORNERSTONE|DevOps平台是如何实现开发效率的双倍提升?

随着企业业务对软件系统日益依赖,IT管理与研发模式也随之对“敏捷”模式产生了需求,也就是今天人们时常提起的DevOps。提升效率,是DevOps实

随着企业业务对软件系统日益依赖,IT管理与研发模式也随之对“敏捷”模式产生了需求, 也就是今天人们时常提起的DevOps 。提升效率,是DevOps实践的核心内容之一。就让我们来一起从软件生命周期的业务流与工作流,探讨DevOps实践效率提升的方向与方法吧。

一、 CORNERSTONE |  DevOps之“流”分析

软件工程将软件的生命周期定义为问题定义、需求分析、软件设计、程序编码、软件测试、运行维护等过程,无论是对于传统模式、敏捷模式还是DevOps模式,软件生命周期过程基本一致,如下图所示。
CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?

软件生命周期各个过程也组成了软件工程的“业务流”,而在不同团队采用相应地开发模式中,具体执行的开发及相关的活动,我们则成为工作流”。

在 CORNERSTONE,DevOps实践中,最主要改进的内容,就是对于这些 “工作流”的活动进行“关停并转”,从而实现整体与局部上对于效率的提升。

这些工作,也就是需要开展的活动,可以分为以下几类:

人与人的互动

这类活动交互的双方均为自然人,如业务需求收集,活动的特点是具备高度的不规则与不规律性。

人与机的互动

这类活动交互的一方为自然人,一方为依托于计算机的程序,如编码活动、人工审核/审批等,活动的特点是人的活动必须依循计算机相关主题的规则,部分活动可以抽取为规范化的过程。

机与机的互动

这类活动的特点是交互的双方都是依托于计算机的程序,如编译构建、自动化测试,活动的过程高度规范化。 不同的作业类型,在效率提升的优化中,需要采用的方法各有不同。

二、 CORNERSTONE |  DevOps效率提升之协作

协作的本质是在不同的主体之间进行快速、有效的信息共享,从而进一步协调各主体进行步调一致、有序的工作执行,实现整体上的一致性与顺畅性,协作是DevOps实践中效率提升的重要方向和内容之一。
DevOps实践中的协作更多需要是从软件生命周期整体系统化考虑与设计,协作设计上面主要包括以下两个方面。
01、信息共享

传统的模式中,相关业务信息仅共享于各阶段内部,而在 CORNERSTONE中,则更强调信息的跨阶段共享,面向产品的全生命周期,共享信息包括:
业务类信息
即业务目标、业务背景、业务需求、业务限制等信息。
执行类信息
即软件开发、编译、测试、部署等执行的相关信息,如开始时间、结束时间、执行时长、执行操作记录等。
反馈类信息
即各步骤、阶段执行的信息反馈,如需求拆分反馈、任务执行反馈、代码编译结果、测试结果、发布验证结果等。
CORNERSTONE为以上信息提供统一的信息管理与分析平台。对于代码编写之前的阶段提供如敏捷协同的工作协同管理模块,以记录需求、任务分配、需求完成进展等信息,对于代码编写之后的阶段,则提供相对完整的执行记录信息以及必要的通知信息,以构建及时的反馈。
02、 协作调度

协作调度是DevOps协作实践中另外一项关键内容。通过 CORNERSTONE平台,可实现对于“机与机的活动”全自动协作调度,对于“人与机的活动”简化协作调度,对于“人与人的活动”事件驱动协作调度,进而实现优化协作调度的效率,提升协作效果。
全自动协作调度
全自动的协作调度主要是通过 CORNERSTONE平台的流水线引擎实现,通过流水线编排的实现指定作业流自动执行,执行过程中自动完成不同阶段的信息交互,过程无需人工参与。
简化的协作调度
简化的协作调度也是通过 CORNERSTONE平台的流水线引擎实现,在流水线作业流中编排需要人工干预的节点,但仅需要人工给出通过/终止等简单的指令型信息即可。
基于事件的协作调度
基于事件驱动的协作调度,主要是用于“人与人的活动”,也可以用于“人与机的活动”,其通过通知、待办等事件方式,实现精准的信息共享与推送,驱动协作的下游方快速接受和推进事务工作。
CORNERSTONE中的协作调度的效果可以通过研发效能来进行初步的评估与衡量,通过衡量,我们可以较为清晰的获知哪个阶段的协调调度是关键阻碍点或可以进一步优化。
三、 CORNERSTONE |  DevOps效率提升之自动化

自动化是DevOps的核心理念,也是效率提升的最重要手段。通过 CORNERSTONE一站式云端DevOps平台,实现软件过程自动化以及软件过程的支撑工作自动化。
CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?
01、软件过程自动化

软件过程自动化是指在软件的开发、测试、部署等过程中,引入自动化的手段,从而实现快速的软件质量检查,以及软件应用发布。

开发过程自动化

CORNERSTONE的代码助手可帮助编程人员以最快的速度完成编程工作,比如当需要对外部的某个窗口进行操作时, CORNERSTONE的代码助手可进行探测,获取相关的窗口信息,再对其它进行操作等。

CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?

测试过程自动化

CORNERSTONE平台 覆盖完整的测试流程,可进行测试用例的编写,建立用例库,减少重复性操作,让研发团队的协作更高效,产品交付更快速。常用的两个功能为:

1) 测试用例管理

通过编写测试⽤例,制定测试计划并执⾏,测试结果可直接关联到缺陷,方便对问题进行跟踪处理,实现对迭代质量的全程把控。

  CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?

2) 缺陷管理

强大的缺陷管理与统计功能,通过分组、解决状态、优先级等列表对缺陷进行全方位记录与跟踪,同时明确缺陷责任人,及时跟进解决缺陷;同时支持导入导出功能,导出时支持任意格式,不受模板限制。

CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?

部署过程自动化

CORNERSTONE支持依赖脚本pipeline实现的DevOps,支持持续集成与自动化部署,可直接在可视化的服务器上进行操作,同时满足多种开发语言,彻底解决敏捷开发在运维层面的瓶颈,方便开发人员对项目开发生命周期进行全盘管理。

CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?

通过流水线引擎,实现以上内容的自由、可视化编排,以及按需执行。

02、 过程支撑自动化

软件过程支撑主要是指面向软件工程过程的支撑,实现自动化包括:

编译构建环境自动化

编译构建环境包括基于DevOps平台的自管理编译构建环境,按需生成编译构建环境,编译构建完成后自动销毁,以及特定编译构建环境的快速接入等。

测试环境自动化

测试环境自动化是指自动化测试执行所需的能力环境,如接口/UI测试脚本所需的执行环境,可以根据测试任务的需要,实现测试环境的弹性伸缩自管理。

环境部署自动化

环境部署自动化是指对于开发、测试、生产等所需要的基础环境,可以根据流水线自动完成环境的使用前的生成、使用后的回收等,实现资源即代码,无需人工参与。

CORNERSTONE中,通过大量的过程及支撑自动化,可以极大的减少开发、测试、运维等工作的人工参与时间,降低人工成本,并能实现人工无法完成的工作,例如快速对10000台服务器上的应用进行更新。但前期的建设需要涉及的技术点较多,成本也较为巨大,如何建设落地自动化,除了考虑效率之外,还需着重考虑业务平台的自主可控与可持续发展等方面。


四、 CORNERSTONE |  DevOps效率提升之持续优化

持续优化,是 CORNERSTONE效率提升的第三个主要方面,也是践行DevOps理念的重要实践。持续优化需要解决优化什么、如何优化等问题。这些问题的解决,需要应用DevOps精益分析的理念实践。 精益分析,本质就是对数据的统计、分析与挖掘。

01、数据获取

精益分析所涉及的数据应从需求提出到用户访问形成一个端到端闭环。数据的获取需要从业务系统本身以及支撑业务系统的 CORNERSTONE平台两个方向获取。早期可以以 CORNERSTONE平台相关数据的获取为主要来源,后续可持续集成来自业务系统埋点获取的数据。在整个过程中,需要做到数据的及时性、准确性与完整性。
02、 数据分析

数据分析需要有明确的目标和针对性,如针对业务需求提出到上线的平均周期、开发返工趋势等,通过数据分析,可以快速找到当前影响效率的关键点,从而实现针对性的改善。

CORNERSTONE | DevOps平台是如何实现开发效率的双倍提升?

03、 数据呈现

数据呈现即为数据应用,数据呈现可以采用两种方式进行。
协同管理
将数据获取/分析的结果,在 CORNERSTONE的协同管理平台实时的反馈和呈现,从而推动PO/开发团队/干系人等根据反馈信息快速推进效率优化,通过量变引发质变,通过团队内自我优化的方式实现效率的提升。
度量分析
针对于与效率相关的重点指标,通过可视化图表等方式,进行专项的度量分析,并在管理与项目团队共享指标信息以及指标的变化趋势,通过全局监督的方式推进效率的提升。
五、 结论

文化上的协同打破了流程与部门的屏障,共享了信息,协作了调度;过程中的自动化消除了重复性的工作,降低人为风险;业务系统与 CORNERSTONE平台的数据支持精准提供优化的方向。DevOps之所以能为企业提升效率在于DevOps的实践实现软件生命周期的业务流与作业流的一致与顺畅。

推荐阅读
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 都会|范围内_客户视频|申银万国期货,从ZStack社区版到私有云
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了客户视频|申银万国期货,从ZStack社区版到私有云相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
众神痴梦_325
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有